In [1]:
# a szokásos rutinok betöltése
%pylab inline
from scipy.integrate import * # az integráló rutinok betöltése
from ipywidgets import *  # az interaktivitásért felelős csomag

import matplotlib.pyplot as plt

from IPython.core.display import HTML
Populating the interactive namespace from numpy and matplotlib
In [2]:
HTML('''<script>
code_show=true;
function code_toggle() {
 if (code_show){
 $('div.input').hide();
 } else {
 $('div.input').show();
 }
 code_show = !code_show
}
$( document ).ready(code_toggle);
</script>
<form action="javascript:code_toggle()"><input type="submit"
value="Click here to toggle on/off the raw code."></form>''')
Out[2]:
In [3]:
rc('text', usetex=True)  # az abran a xticks, yticks fontjai LaTeX fontok lesznek 
In [4]:
# Abra es fontmeretek
xfig_meret= 9   #    12 nagy abrahoz
yfig_meret= 6    #   12 nagy abrahoz
xyticks_meret= 15  #  20 nagy abrahoz
xylabel_meret= 21  #  30 nagy abrahoz
legend_meret= 21   #  30 nagy abrahoz
In [5]:
def nyomas_VdW(V,T):  
    pp = 8 *T/(3*V-1)-3/V**2
    return (pp)
In [6]:
def nyomas_Berth(V,T):  
    pp = T/(3*V-1)-3/8/V**2/T
    return (pp)
In [7]:
def nyomas_Diet(V, T):
    pp=(e**(2 - 2/(T*V)) * T)/(-1 + 2* V)
    return(pp)
In [8]:
def nyomas_RK(V, T):
    s= 2**(1/3)-1
    pp= 3*T/(V-s)-1/s/V/(V+s)/sqrt(T)
    return(pp)

Van der Waals gáz izotermái, $p(V,T)$ görbe

$\left(\hat{p}+\frac{3}{\hat{V}^2}\right)\left(3\hat{V}-1 \right) = 8\hat{T}$, ahol $V_c=3bn$, $RT_c =\frac{8}{27}\, \frac{a}{b}$, $p_c=\frac{1}{27}\, \frac{a}{b^2} $.

In [9]:
Npont=100

T1=0.85
T2=0.9
T3=0.95
T4=1.
T5=1.1

Vmin= .5
Vmax = 4

VV=linspace(Vmin,Vmax,Npont) #mintavételezési pontok legyártása

figsize(xfig_meret,yfig_meret)


plot(VV,nyomas_VdW(VV,T1),label=r'$T/T_c=\, $'+str(T1),lw=3,ls='-',color='brown')
plot(VV,nyomas_VdW(VV,T2),label=r'$T/T_c=\, $'+str(T2),lw=3,ls='-',color='blue')
plot(VV,nyomas_VdW(VV,T3),label=r'$T/T_c=\, $'+str(T3),lw=3,ls='-',color='green')
plot(VV,nyomas_VdW(VV,T4),label=r'$T/T_c=\, $'+str(T4),lw=3,ls='-',color='red')
plot(VV,nyomas_VdW(VV,T5),label=r'$T/T_c=\, $'+str(T5),lw=3,ls='-',color='black')


legend(loc='upper right',fontsize=legend_meret)

xlabel(r'$\hat{V}$',fontsize=xylabel_meret)
ylabel(r'$\hat{p}$',fontsize=xylabel_meret,rotation='horizontal')
xticks(fontsize=xyticks_meret)
yticks(fontsize=xyticks_meret);

xlim(0.,Vmax)
ylim(0,2.1)

ax = gca()
ax.yaxis.set_label_coords(-0.08, 0.6);  #  ylabel position 
#title(r'$E(T)$ ', fontsize=20)

#savefig('xxxxx.eps',pad_inches=0.0,bbox_inches='tight');  # Abra kimentese

Berthelot állapotegyenlet izotermái, $p(V,T)$ görbe

M. W. Zemansky and R. H Dittman: Heat and Thermodynamics, page 135.

$\left(\hat{p}+\frac{3}{8}\, \frac{1}{\hat{V}^2\hat{T}}\right)\left(3\hat{V}-1 \right) = \hat{T}$, ahol $V_c=3bn$, $RT_c^2 =\frac{8}{27}\, \frac{a}{b}$, $p_c=\frac{8}{27}\, \frac{a}{b^2}\, \frac{1}{T_c} $.

Figyelem, itt az $a$ paraméter jelentése más, mint a van der Waals-gáznál!

In [10]:
Npont=100

T1=0.94
T2=0.96
T3=0.98
T4=1.
T5=1.1

Vmin= .5
Vmax = 4

VV=linspace(Vmin,Vmax,Npont) #mintavételezési pontok legyártása

figsize(xfig_meret,yfig_meret)


plot(VV,nyomas_Berth(VV,T1),label=r'$T/T_c=\, $'+str(T1),lw=3,ls='-',color='brown')
plot(VV,nyomas_Berth(VV,T2),label=r'$T/T_c=\, $'+str(T2),lw=3,ls='-',color='blue')
plot(VV,nyomas_Berth(VV,T3),label=r'$T/T_c=\, $'+str(T3),lw=3,ls='-',color='green')
plot(VV,nyomas_Berth(VV,T4),label=r'$T/T_c=\, $'+str(T4),lw=3,ls='-',color='red')
plot(VV,nyomas_Berth(VV,T5),label=r'$T/T_c=\, $'+str(T5),lw=3,ls='-',color='black')


legend(loc='upper right',fontsize=legend_meret)

xlabel(r'$\hat{V}$',fontsize=xylabel_meret)
ylabel(r'$\hat{p}$',fontsize=xylabel_meret,rotation='horizontal')
xticks(fontsize=xyticks_meret)
yticks(fontsize=xyticks_meret);

xlim(0.,Vmax)
ylim(0,0.25)

ax = gca()
ax.yaxis.set_label_coords(-0.08, 0.65);  #  ylabel position 
#title(r'$E(T)$ ', fontsize=20)

#savefig('xxxxx.eps',pad_inches=0.0,bbox_inches='tight');  # Abra kimentese

Dieterici állapotegyenlet izotermái, $p(V,T)$ görbe

M. W. Zemansky and R. H Dittman: Heat and Thermodynamics, page 135.

$\hat{p} = \frac{\hat{T}}{2 \hat{V}-1}\, e^{2-\frac{2}{\hat{V}\hat{T}}}$, ahol $V_c=2 bn$, $RT_c = \frac{a}{4b}$, $p_c=\frac{a}{4 e^2b^2}$.

Figyelem, itt az $a$ és a $b$ paraméterek jelentése más, mint a van der Waals-gáznál!

In [11]:
Npont=100

T1=0.85
T2=0.9
T3=0.95
T4=1.
T5=1.1

Vmin= .55
Vmax = 2

VV=linspace(Vmin,Vmax,Npont) #mintavételezési pontok legyártása

figsize(xfig_meret,yfig_meret)


plot(VV,nyomas_Diet(VV,T1),label=r'$T/T_c=\, $'+str(T1),lw=3,ls='-',color='brown')
plot(VV,nyomas_Diet(VV,T2),label=r'$T/T_c=\, $'+str(T2),lw=3,ls='-',color='blue')
plot(VV,nyomas_Diet(VV,T3),label=r'$T/T_c=\, $'+str(T3),lw=3,ls='-',color='green')
plot(VV,nyomas_Diet(VV,T4),label=r'$T/T_c=\, $'+str(T4),lw=3,ls='-',color='red')
plot(VV,nyomas_Diet(VV,T5),label=r'$T/T_c=\, $'+str(T5),lw=3,ls='-',color='black')


legend(loc='upper right',fontsize=legend_meret)

xlabel(r'$\hat{V}$',fontsize=xylabel_meret)
ylabel(r'$\hat{p}$',fontsize=xylabel_meret,rotation='horizontal')
xticks(fontsize=xyticks_meret)
yticks(fontsize=xyticks_meret);

xlim(0.,Vmax)
ylim(0.5,2.2)

ax = gca()
ax.yaxis.set_label_coords(-0.08, 0.65);  #  ylabel position 
#title(r'$E(T)$ ', fontsize=20)

#savefig('xxxxx.eps',pad_inches=0.0,bbox_inches='tight');  # Abra kimentese

Redlich-Kwong állapotegyenlet izotermái, $p(V,T)$ görbe

Az állapotegyenlet: $\left(p+\frac{a n^2}{\sqrt{T}V \left(V+bn\right)}\right)\left(V- bn \right) = n R T$.

Az átskálázott állapotegyenlet: $\left(\hat{p}+\frac{1}{v_0 \hat{V} \left(\hat{V}+v_0\right)\sqrt{\hat{T}}}\right)\left(\hat{V}-v_0\right) = 3 \hat{T}$,

ahol $v_0=2^{1/3}-1$,

$V_c= \left(1+2^{1/3}+2^{2/3}\right)\, bn \approx 3.85\, bn$,

$T_c = \left(1+2^{4/3}-2^{5/3}\right)\, {\left(\frac{a}{b}\right)}^{2/3}\, R^{-2/3} \approx 0.345\, {\left(\frac{a}{b}\right)}^{2/3}\, R^{-2/3}$,

$p_c = \frac{\left(1+2^{1/3}\right)\left(2^{7/3}-5 \right)}{3}\, \frac{b^{5/3}}{a^{2/3}}\, R^{-1/3} \approx 0.03 \, \frac{b^{5/3}}{a^{2/3}}\, R^{-1/3}$

In [12]:
Npont=100

T1=0.9
T2=0.925
T3=0.95
T4=1.
T5=1.05

Vmin= .3
Vmax = 3

VV=linspace(Vmin,Vmax,Npont) #mintavételezési pontok legyártása

figsize(xfig_meret,yfig_meret)


plot(VV,nyomas_RK(VV,T1),label=r'$T/T_c=\, $'+str(T1),lw=3,ls='-',color='brown')
plot(VV,nyomas_RK(VV,T2),label=r'$T/T_c=\, $'+str(T2),lw=3,ls='-',color='blue')
plot(VV,nyomas_RK(VV,T3),label=r'$T/T_c=\, $'+str(T3),lw=3,ls='-',color='green')
plot(VV,nyomas_RK(VV,T4),label=r'$T/T_c=\, $'+str(T4),lw=3,ls='-',color='red')
plot(VV,nyomas_RK(VV,T5),label=r'$T/T_c=\, $'+str(T5),lw=3,ls='-',color='black')

legend_meret1 = 0.9* legend_meret 
legend(loc='upper right',fontsize=legend_meret1)

xlabel(r'$\hat{V}$',fontsize=xylabel_meret)
ylabel(r'$\hat{p}$',fontsize=xylabel_meret,rotation='horizontal')
xticks(fontsize=xyticks_meret)
yticks(fontsize=xyticks_meret);

xlim(0.,Vmax)
ylim(0,2.)

ax = gca()
ax.yaxis.set_label_coords(-0.08, 0.65);  #  ylabel position 
#title(r'$E(T)$ ', fontsize=20)

#savefig('xxxxx.eps',pad_inches=0.0,bbox_inches='tight');  # Abra kimentese
In [ ]: